Projet Final INFMDI721 Kit Data Science

par Clément LIAIGRE

Ce projet s'appuie sur des données provenant du site web du Vendée Globe et s'articule en plusieurs étapes :

  1. Récupération et nettoyage des données
    1. Récupération des fichiers Excel des classements du Vendée Globe
    2. Création d'un DataFrame de l'évolution du classement du Vendée Globe à partir des fichiers Excel et nettoyage des données
    3. Récupération des données techniques des voiliers et nettoyage des données
  2. Rapprochement des données des voiliers avec celles des classements au sein d'un seul DataFrame
  3. Analyse descriptive et visualisation des données du DataFrame
    1. Analyse de la relation entre les variables VMG et Rang
    2. Analyse de l'impact de la présence d'un foil sur la VMG et le rang du skipper
    3. Analyse de l'impact des autres variables (largeur, déplacement (poids), hauteur de mât, surface de voiles au près et surface de voiles au portant) sur la VMG
    4. Représentation de séries temporelles (évolution du rang, évolution de la VMG, trajet parcouru par les skippers)
    5. Cartes avec les routes des voiliers
    6. Analyse des relations entre les variables
  4. Application d'algorithmes de Machine Learning afin de prédire à quel segment d'un rang appartient un skipper

1. Récupération et nettoyage des données

A. Récupération des fichiers Excel des classements du Vendée Globe

ATTENTION : Les fonctions ont déjà été exécutées pour récupérer les fichiers Excel.

B. Création d'un DataFrame de l'évolution du classement du Vendée Globe à partir des fichiers Excel et nettoyage des données

C. Récupération des données techniques des voiliers

2. Rapprochement des données des voiliers avec celles des classements au sein d'un seul DataFrame

3. Analyse descriptive et visualisation des données du DataFrame

A. Analyse de la relation entre les variables VMG et Rang

Les diagrammes en boîte et la régression linéaire nous permettent d'observer une corrélation entre le rang des skippers et la VMG (kts) pendant la course.

B. Analyse de l'impact de la présence d'un foil sur la VMG et le rang du skipper

L'histogramme et les diagrammes en boîte nous permettent d'observer une influence de la présence d'un foil sur les performances du voilier. En particulier, à partir du premier diagramme, nous remarquons que la proportion de voiliers avec un foil en tête du Vendée Globe est plus élevée que la proportion de voiliers sans foil en tête du Vendée Globe.

C. Analyse de l'impact des autres variables (largeur, déplacement (poids), hauteur de mât, surface de voiles au près et surface de voiles au portant) sur la VMG

L'analyse ne permet pas de conclure sur l'influence des autres variables (largeur, déplacement (poids), hauteur de mât, surface de voiles au près et surface de voiles au portant) sur la VMG.

D. Représentation de séries temporelles (évolution du rang, évolution de la VMG, trajet parcouru par les skippers)

E. Cartes avec les routes des voiliers

F. Analyse des relations entre les variables

La matrice de corrélation et les projections des variables sur les 3 premiers axes principaux nous permettent d'identifier une corrélation négative entre le déplacement et la présence d'un foil.

4. Application d'algorithmes de Machine Learning afin de prédire à quel segment appartient un skipper

Nous allons segmenter le rang des skippers en 4 classes :

Notre objectif sera de prédire la classe du skipper à partir des variables suivantes :

Pour répondre à cette problématique, nous utiliserons trois familles d'algorithmes (modèle linéaire, modèle à noyau et modèle ensembliste) de classification supervisée. Nous testerons ainsi, un modèle de régression logistique, SVM et XGBoost et nous évaluerons leurs performances.

À partir des matrices de confusion et des courbes ROC, nous observons que les algorithmes SVM avec un noyau non linéaire et XGBoost sont ceux qui parviennent le mieux à prédire la classe du rang des skippers. La classe 3 (rang de 10 à 15) semble la plus difficile à prédire pour l'algorithme XGBoost. Au vu de notre objectif qui serait de prédire le top 10 des skippers, les performances des algorithmes de SVM et XGBoost sont acceptables malgré un écart-type autour de 10% pour les scores de validation croisée.
De plus, l'expérience et les compétences de navigation du skipper ainsi que d'autres facteurs sont certainement des variables complémentaires permettant d'expliquer le rang de celui-ci. Ces données ne sont pas prises en compte dans notre modèle, ce qui peut expliquer la différence entre notre prédiction et le classement réel.